Electrical filters are used for shaping and modifying electrical signals. One of the most common uses is to filter out, or remove, signal components of a particular frequency or range of frequencies, hence the name. They are sometimes used to process received signals to remove degradation factors often present after a signal transmission so that the received signals take an expected form and thereby produce an expected result. Examples of filter use include audio devices where filters are used to improve the reproduction of the expected sound, in video devices to produce the expected picture, and in data processing devices to produce the correct data.
Finite impulse response (FIR) filters are versatile signal processing devices whose filter characteristics are determined by a set of multiplying parameters rather than by physical components as in traditional analog filters. The multiplying parameters are frequently programmable values stored in a digital memory device so that they can be changed to easily alter the filter's characteristics. By altering the characteristics of the filter, it can be made to produce a better representation of the ideal signal despite variations in degradation factors.
In real-time signal processing, the input to an FIR filter is a sequence of discrete time values, x(n) (wherein a single sample value is denoted Ai), which may result from the periodic sampling of a continuous analog signal. The index n is an integer representing the sequence number of the current sample. Earlier samples are represented by lower numbers; for example, the k.sup.th preceding sample is represented by x(n-k). The FIR output signal is a sequence of discrete-time values y(n) each made up of the sum of a finite number (N) of products. Each product consists of the current sample and N-1 earlier samples x(n-k) multiplied by N constant coefficients W(k), where k is an index ranging from 0 to N-1. The multiplier coefficients or "weight factors," W(k) are the numerical parameters which are used to shape and modify the input signal so as to better achieve the expected result. Stated in the form of an equation, the FIR output signal function is: ##EQU1##
Traditionally, the FIR function has been implemented by passing the input signal samples x(n) through multiple stages of delay and taking a signal from the input and another signal after each stage of delay as input signals to the multipliers containing the weights. In the prior art, delay stages have taken many forms ranging from tapped delay lines to analog shift registers to digital shift registers supplied by analog-to-digital converters. These forms can be divided into the two main classifications of analog and digital delay devices. Analog delay devices are relatively simple and fast and permit the use of analog multipliers which may also be relatively fast and simple. However, in analog delay devices the signal degrades as it progresses down the delay path and the degradation may be significant, especially when the number of stages is large. Digital delay devices do not have the degradation problem since the analog input signal is converted to a digital, i.e., numerical, representation. As the digital representation is passed down the delay line it does not change in value. However, digital filters are relatively complex and slow in that they require analog-to-digital conversion of the input signal and digital multiplication of the signal by the weight factors W(k). The time needed to multiply digital numbers increases significantly with the length of the digital representation. Also, in the case where analog output is required, the digital signal must be converted back to analog form.
Another design consideration is to implement the FIR filter with a high degree of accuracy. If analog multipliers are used to implement the filter, they require a certain amount of settling time to achieve a desired accuracy. That is, after a new analog sample Ai is applied to the multiplier, a delay known as the setup time directly affects the accuracy of the multiplication result. The longer the setup time, the more time the multiplier has to settle, and the more accurate the result. A longer setup time, however, reduces the overall speed of conventional FIR filters.
To summarize, analog-delay FIR filters are fast and simple devices but suffer from degradation of the input signal as it progresses down a delay line. Digital-delay FIR filters are free of degradation but are relatively slow and complex devices, particularly where accuracy requires lengthy digital representation of the input signal and the weighting factors.
It is, therefore, a general object of the current invention to provide an FIR filter that is fast, accurate, and free of degradation.